<?php 
header("Content-type: text/html; charset=utf-8");

//******************************************************事务处理
 //连接数据库
// $pdo = new Pdo('mysql:host=localhost;dbname=ghp_mysql','root','');
// // var_dump($pdo);
// // 开启一个事务
// $pdo->query("SET NAMES 'gbk'");
// $res = $pdo ->beginTransaction();
// // var_dump($res);
// //修改sql语句
// $sql = "update stu set name='guohaipeng' where id=4";
// //pdo执行$sql语句，将会返回受影响的行数，我们发现执行后并不会立马修改数据库中的数据，因为事务还没提交，只是存在于内存中
// $line = $pdo->exec($sql);
// // var_dump($line);
// //事务是没有查询的，因为改变不了数据库中的数据，只有增删改有事务需求,这里为了做测试用
// // $sql_select = "select * from stu where id=4";
// // $stmt = $pdo->query($sql_select);
// // var_dump($stmt->fetch(PDO::FETCH_ASSOC));
// if($line){
// 	$result = $pdo->commit();
// 	var_dump($result);
// }else{
// 	echo "对不起，提交失败";
// 	$pdo->rollBack();
// }
//******************************************************

//设置或获取PDO的行为属性
//建立连接
// $pdo = new pdo('mysql:host=localhost;dbname=ghp_mysql',"root","");
// // var_dump($pdo);
// // var_dump($pdo->getAttribute(PDO::ATTR_CASE));
// // echo PDO::CASE_LOWER; //2
// // echo PDO::CASE_NATURAL;//0
// // echo PDO::CASE_UPPER;//1
// // $pdo->setAttribute(PDO::ATTR_CASE,PDO::CASE_UPPER);//强制字段为指定的大小写。
// // $sql = "select * from stu";
// // $stmt = $pdo->query($sql);
// //  var_dump($stmt->fetch(PDO::FETCH_ASSOC));
// $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
// var_dump($pdo->getAttribute(PDO::ATTR_ERRMODE));



//捕抓PDO异常处理
try{
	$pdo = new pdo("mysql:host=localhost;dbname=ghp_mysql",'root','');
	// var_dump($pdo);
	$pdo->query("SET NAMES 'utf8'");
	$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
	$sql = "select * from stu where id=3";
	$stmt = $pdo->query($sql);
	// var_dump($stmt->fetch(PDO::FETCH_ASSOC));
	var_dump($stmt->fetchColumn(0));
}catch(PDOException $err){
	echo "错误信息：".$err->getMessage().";错误行号：".$err->getLine().";错误文件路径：".$err->getFile(); 
}

?>